package zzs.generalframework.console.core.user.userdetailinner.service;

import java.util.List;

import zzs.generalframework.common.core.user.userdetailinner.UserDetailInnerBO;
import zzs.generalframework.common.core.user.userdetailinner.UserDetailInnerInfo;
import zzs.generalframework.console.common.exception.ConsoleException;
import zzs.generalframework.console.common.model.ConsoleReturnBO;

/**
 * @title
 * @description
 * @project zzs-console
 * @package zzs.generalframework.console.core.user.userdetailinner.service
 * @author zzs
 * @date 2018年2月5日
 * @version 1.0
 */
public interface IUserDetailInnerService
{

	/**
	 * 保存用户详细(内部)信息
	 *
	 * @param userDetailInner
	 * @return
	 */
	public ConsoleReturnBO saveUserDetailInner(UserDetailInnerBO userDetailInnerBO);

	/**
	 * 保存用户详细(内部)信息列表
	 *
	 * @param userDetailInnerBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO saveUserDetailInner(List<UserDetailInnerBO> userDetailInnerBOList) throws ConsoleException;

	/**
	 * 获取用户详细(内部)信息
	 *
	 * @param userDetailInnerInfo
	 * @return
	 */
	public ConsoleReturnBO getUserDetailInner(UserDetailInnerInfo userDetailInnerInfo);

	/**
	 * 获取用户详细(内部)信息列表
	 *
	 * @param userDetailInnerInfo
	 * @return
	 */
	public ConsoleReturnBO listUserDetailInner(UserDetailInnerInfo userDetailInnerInfo);

	/**
	 * 更新用户详细(内部)信息
	 *
	 * @param userDetailInnerBO
	 * @return
	 */
	public ConsoleReturnBO updateUserDetailInner(UserDetailInnerBO userDetailInnerBO);

	/**
	 * 更新用户详细(内部)信息列表
	 *
	 * @param userDetailInnerBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO updateUserDetailInner(List<UserDetailInnerBO> userDetailInnerBOList) throws ConsoleException;

	/**
	 * 删除用户详细(内部)信息
	 *
	 * @param userDetailInnerBO
	 * @return
	 */
	public ConsoleReturnBO removeUserDetailInner(UserDetailInnerBO userDetailInnerBO);

	/**
	 * 删除用户详细(内部)信息列表
	 *
	 * @param userDetailInnerBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO removeUserDetailInner(List<UserDetailInnerBO> userDetailInnerBOList) throws ConsoleException;

	/**
	 * 统计用户详细(内部)信息
	 *
	 * @param userDetailInnerBO
	 * @return
	 */
	public Long countUserDetailInner(UserDetailInnerBO userDetailInnerBO);

}
